package com.mallcloud.mall.mall.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mallcloud.mall.mall.api.entity.MallPointsProductRedeemRecordModel;
import com.mallcloud.mall.mall.api.entity.MallPointsInRecordModel;
import com.mallcloud.mall.mall.api.entity.MallPointsOutRecordModel;
import com.mallcloud.mall.mall.api.entity.vo.MallPointsProductRedeemRecordVO;
import com.mallcloud.mall.mall.api.entity.vo.MallPointsRedeemRecordExcelVO;

import java.util.List;

/**
 * 积分商品兑换记录
 */
public interface MallPointsProductRedeemRecordService extends IService<MallPointsProductRedeemRecordModel> {

	/**
	 * 领取
	 * @param ids
	 * @return
	 */
	Boolean draw(List<Long> ids);

	/**
	 * 积分兑换分页
	 * @param page
	 * @param model
	 * @return
	 */
	IPage<MallPointsProductRedeemRecordVO> pagePointsRedeemRecord(Page page, MallPointsProductRedeemRecordModel model);

	/**
	 * 积分兑换列表
	 * @param dto
	 * @return
	 */
	List<MallPointsProductRedeemRecordVO> listPointsRedeemRecord(MallPointsProductRedeemRecordModel dto);

	/**
	 * 导出
	 * @param dto
	 * @return
	 */
	List<MallPointsRedeemRecordExcelVO> export(MallPointsProductRedeemRecordModel dto);

	/**
	 * 积分收入分页
	 * @param page
	 * @param model
	 * @return
	 */
	IPage<MallPointsInRecordModel> pagePointsRedeemInRecord(Page page, MallPointsInRecordModel model);

	/**
	 * 积分支出分页
	 * @param page
	 * @param model
	 * @return
	 */
	IPage<MallPointsOutRecordModel> pagePointsRedeemOutRecord(Page page, MallPointsOutRecordModel model);
}
